home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / system / fdate84b.zip / HOLIDAYS.BAT < prev    next >
DOS Batch File  |  1994-05-04  |  6KB  |  135 lines

  1. @echo off
  2. CLS
  3. :: HOLIDAYS.BAT
  4. :: if user specifies a year as parm1, use it
  5. set year=%1
  6. if not (%year%)==() goto GetYrEnd
  7.  
  8. :: get name of this batch file, in upper case
  9. FDATE /fupper /q%0 /v
  10. echo ───────────────────────────────────────────────────────────────────────────────
  11. echo                        %fdate%
  12. echo ───────────────────────────────────────────────────────────────────────────────
  13. :GetYr
  14. echo.
  15. echo Please enter the year for which you want holidays calculated,
  16. FDATE /fget /q"or press ENTER for current year > " /vyear
  17. if not (%year%)==() goto GetYrEnd
  18.  
  19. :: get current year
  20. Fdate /Ff /At /Occyy /vyear
  21.  
  22. :GetYrEnd
  23.  
  24. echo.
  25. :: check for validity of year parm (%1)
  26. Fdate /Fv /A01-01-%year% >nul
  27. if errorlevel 1 echo Value [%year%] is not a valid year.  Please re-enter.
  28. if errorlevel 1 goto GetYr
  29.  
  30. :: --------------------------------------------------------
  31. :: Determine if year is a leapyear
  32. :: --------------------------------------------------------
  33. Fdate /Ff /A01-01-%year% /Oly /vLY
  34.  
  35. cls
  36. echo ───────────────────────────────────────────────────────────────────────────────
  37. if (%LY%)==(0) ECHO                   EVENTS IN %YEAR%
  38. if (%LY%)==(1) ECHO                   EVENTS IN %YEAR%         Note: %year% is a leap year
  39. ECHO To print the calendar, press SHIFT+PRINTSCREEN to print each screen.
  40. echo ───────────────────────────────────────────────────────────────────────────────
  41. Fdate /Ff         /A01-01-%year% /P"New Year's Day........................"
  42. Fdate /Ff         /A01-06-%year% /P"Epiphany.............................."
  43.  
  44. Fdate /Fw /D2 /N3 /A01-01-%year% /P"Martin Luther King, Jr. Day..........."
  45. Fdate /Ff /A02-01-%year% /P"    Note that " /S" begins Black History Month"
  46. ::    note use of x'ff'     ^^^^ for formatting
  47. Fdate /Ff         /A02-14-%year% /P"Valentine's day......................."
  48. Fdate /Fw /D2 /N3 /A02-01-%year% /P"Presidents' Day......................."
  49. Fdate /Ff         /A03-17-%year% /P"St. Patricks's Day...................."
  50.  
  51. if (%LY%)==(1) Fdate /Ff /A02-29-%year% /P"Sadie Hawkins Day....................."
  52.  
  53. :: ========== begin: DATES TIED TO EASTER==============================
  54. set easter=
  55. if (%year%)==(1991) set easter=03-31-%year%
  56. if (%year%)==(1992) set easter=04-19-%year%
  57. if (%year%)==(1993) set easter=04-11-%year%
  58. if (%year%)==(1994) set easter=04-03-%year%
  59. if (%year%)==(1995) set easter=04-16-%year%
  60. if (%year%)==(1996) set easter=04-07-%year%
  61. if (%year%)==(1997) set easter=03-30-%year%
  62. if (%year%)==(1998) set easter=04-12-%year%
  63. if (%year%)==(1999) set easter=04-04-%year%
  64. if (%year%)==(2000) set easter=04-23-%year%
  65. if (%year%)==(2001) set easter=04-15-%year%
  66. if (%easter%)==() goto unknown
  67. echo.
  68. Fdate /Fsub /N47 /A%easter% /P"Mardi Gras (Shrove Tuesday)..........."
  69. Fdate /Fsub /N46 /A%easter% /P"Ash Wednesday (Lent begins)..........."
  70. Fdate /Fsub /N7  /A%easter% /P"Palm Sunday..........................."
  71. Fdate /Fsub /N2  /A%easter% /P"Good Friday..........................."
  72. Fdate /Ff        /A%easter% /P"Easter................................"
  73. :unknown
  74. :: ==========    end: DATES TIED TO EASTER==============================
  75.  
  76. echo ───────────────────────────────────────────────────────────────────────────────
  77. PAUSE
  78. CLS
  79.  
  80. Fdate /Fw /D4 /N4  /A04-01-%year% /P"Secretary's Day......................."
  81. Fdate /Ff          /A05-05-%year% /P"Cinco de Mayo (Mexico)................"
  82.  
  83. Fdate /Fw /D1 /N2  /A05-01-%year% /P"Mother's Day.........................."
  84. Fdate /Fw /D2 /N-1 /A05-24-%year% /P"Victoria Day (Canada)................."
  85. Fdate /FW /D2 /N-1 /A05-31-%year% /P"Memorial Day (observed)..............."
  86.  
  87. if not (%easter%)==() Fdate /Fadd /N39 /A%easter% /P"Ascension Day........................."
  88. if not (%easter%)==() Fdate /Fadd /N49 /A%easter% /P"Pentecost............................."
  89. if not (%easter%)==() echo.
  90. Fdate /Ff         /A06-14-%year% /P"Flag Day.............................."
  91. :: ----- anniversary of Bloom's Day, June 16, 1904 ------------------
  92. :: Here's a way to show an anniversary or event that you want to note.
  93. :: Thanks to L. Schliesser for the algorithm.
  94. :: ------------------------------------------------------------------
  95. Fdate /F#dif /A%year% /B1904 /vann
  96. Fdate /Ff         /A06-16-%year% /P"Bloom's Day (%ann%th anniversary)........"
  97. SET ann=
  98. :: ---------------end bloom's day --------------------------------------
  99.  
  100. Fdate /Fw /D1 /N3 /A06-01-%year% /P"Father's Day.........................."
  101. Fdate /Ff         /A07-01-%year% /P"Canada Day (Canada)..................."
  102. Fdate /Ff         /A07-04-%year% /P"Independence Day (USA)................"
  103. Fdate /Ff         /A07-14-%year% /P"Bastille Day (France)................."
  104.  
  105. :: echo ─────────────────────────────────────────────────────────────────────── ────────
  106. :: PAUSE
  107. :: CLS
  108.  
  109. Fdate /Fw /D2 /N1 /A09-01-%year% /P"Labor Day............................."
  110.  
  111.  
  112. :: ---- begin ------- note a particular day in a particular year
  113. :: This technique is useful for noting special events:
  114. :: 21st birthdays, 50th wedding anniversaries, etc.
  115. if (%year%)==(1992) Fdate /Ff /A10-12-%year% /P"500th ann. of Columbus's discovery...."
  116. :: ----   end -------- note a particular day in a particular year
  117.  
  118. Fdate /Fw /D2 /N2  /A10-01-%year% /P"Columbus Day (observed)..............."
  119. Fdate /Fw /D2 /N2  /A10-01-%year% /P"Thanksgiving Day (Canada)............."
  120. Fdate /Ff          /A11-11-%year% /P"Veteran's Day........................."
  121.  
  122. :: Fourth Thursday in November
  123. Fdate /Fw /D5 /N4  /A11-01-%year% /P"Thanksgiving Day (USA)................"
  124.  
  125.  
  126. Fdate /Fw /D1 /N-4 /A12-24-%year% /P"First Sunday in Advent................"
  127. Fdate /Ff          /A12-25-%year% /P"Christmas............................."
  128. Fdate /fadd /N1    /A12-31-%year% /P"New Year's Day........................"
  129. echo ───────────────────────────────────────────────────────────────────────────────
  130. :endit
  131. set year=
  132. set fdate=
  133. set easter=
  134. set LY=
  135.